A microcomputer comprising a Central Processing Unit (CPU), memories and Input/Output Interface (I/O interface) is widely used as a control unit of an actuator.
The memories of such a microcomputer comprise a Read Only Memory (ROM) for storing a control program and basic data, and a Random Access Memory (RAM) for storing data which frequently changes.
Generally, the ROM is a memory which cannot be updated, but in some cases it is necessary to update the control program and basic data stored in the ROM.
One type of memory meeting this need is a flash memory which permits electrical erasing and writing using an external tool. Tokkai Hei 7-287605 published by the Japanese Patent Office in 1995 discloses an engine control unit using a flash memory as a ROM.
When such a flash memory is used as a ROM of a control unit for controlling an actuator, however, the following problems may arise.
There is a case where a control unit of an actuator learns control parameters, and it backs up the values in a non-volatile memory such as a Static Random Access Memory (SRAM) even after the actuator has stopped so that they can be applied the next time the actuator starts.
When the control program of a flash memory is updated in such a control unit, the learnt values stored in the non-volatile RAM are also initialized.
This is because an initialization process which initializes various parameters when the control program starts is built into the control program. This initialization process is necessary in order to prevent false operation of the control program after it is written into the memory.
However when the learnt values are initialized by this process, learning must be repeated under the updated control program from the beginning. Therefore, some time is required until the control state of the actuator after updating of the ROM returns to its control state before updating of the ROM.
The idle rotation speed of a vehicle engine is adjusted using an auxiliary air valve which for example, is driven by a step motor. In this case, if a flow coefficient of the auxiliary air valve becomes smaller than a reference value due to production errors or temporal deterioration of construction parts, an auxiliary air volume during idle running will of course be insufficient, and the idle rotation speed will not reach its target value.
The learnt values are numerical representations obtained by learning characteristics which are unique to each individual piece of equipment. In the case of a control unit controlling the aforementioned auxiliary air valve, a learning value is memorized as a step number of the step motor and is applied to the subsequent control.
However in such a control unit when the learnt value has been initialized due to updating of a ROM as described hereabove, the idle rotation speed does not reach its target value until the learnt value returns by another learning process to the value before the ROM was updated.